import axios from 'axios';

const request = axios.create({
  timeout: 100000,
});

// 演示axios拦截器,拦截之前,发请求之前,可以再添加一些配置
request.interceptors.request.use(
  function (config) {
    // 添加请求头 获取token
    // @ts-ignore
    config.headers.accessToken = localStorage.getItem('accessToken');
    return config;
  },
  function (error) {
    // Do something with request error
    return Promise.reject(error);
  }
);

//   返回来之后,可以添加一些东西,执行时间会比调用该方法后的.then()提前,
// @ts-ignore
// 添加响应拦截器
service.interceptors.response.use(
  function (response: { data: { code: number; data: any } }) {
    if (response.data.code === 0) {
      return response.data.data;
    }
    return response.data;
  },
  function (error: any) {
    return Promise.reject(error);
  }
);
export default request;
